1. Field of the Invention
The present invention relates to a storage method for data on membership functions in a processor operating with fuzzy logic procedures. Specifically the present invention relates to a storage method in an electronic controller operating with fuzzy logic procedures for membership functions of logical variables defined in a so-called discourse universe discretized at a finite number of points and said method providing memorization of triangular or trapezoid membership functions FA.
2. Discussion of the Related Art
Fuzzy logic is now accepted as a technique capable of supplying solutions for a broad range of control problems for which the conventional techniques, e.g. those based on Boolean logic, have proven unsuitable for providing acceptable performance at an acceptable cost.
Fuzzy logic operates on a linguistic description of reality using a particular class of variables termed linguistic variables. The value of said variables consists of words or phrases of a natural or artificial language. Basically, to each variable is assigned a corresponding semantic meaning of the words or phrases which are used in modelling of a given problem.
In addition, with each variable can be syntactically combined a group of values dependent on it and which can take on different meanings depending on the context in which they are employed. These values are obtained starting from a primary term representing the variable, from its contrary, and from a series of so-called modifiers of the primary term. Such a system is described in European patent application no. 92830095.3.
Each value assigned to a linguistic variable is represented also by a so-called fuzzy set, i.e. a possibilistic distribution function which links each value of the variable in the corresponding definition domain, known also as discourse universe.
The functions which identify a fuzzy set in the discourse universe of a variable are termed membership functions f(m). For example, a value f(m)=0 indicates non-membership of the point m in the fuzzy set identified by the function f whereas value f(m)=1 indicates the certainty of the membership of n in the fuzzy set. The entirety of all the fuzzy sets of a linguistic variable is termed `term set`.
Appropriate logical operations can be performed with membership functions, termed inferences, which permit description of the behavior of a system with the variation of the input parameters. These operations are performed by means of fuzzy rules which have generally a syntax of the type: EQU IF X IS A, THEN Y IS B
where X is the input value, A and B are membership functions which represent knowledge of the system, and Y is the output value.
The part of the rule which precedes the term THEN is termed `left` or antecedent, while that which follows it is termed `right` or consequent part of the inference rule.
The electronic data processing instruments which allow performance of the operations on the membership functions must be provided with a particular architecture expressly dedicated to the entirety of inference operations which constitute the fuzzy logic computational model.
To obtain a satisfactory result it is however of basic importance that the membership functions of the fuzzy sets be sufficiently and correctly defined in the control device. Indeed, the more said definition reflects the semantics of the fuzzy concept the more the incidence of a term in a rule will be correct and consequently also the value output by the electronic controller operating with fuzzy procedures will better reflect reality.
At present, the definition or memorization in an electronic controller based on the fuzzy logic of the membership functions which identify the fuzzy sets represent one of the major constraints on the development of new fuzzy logic applications, thus limiting the theoretical potentials of this methodology.
Indeed, if for the implementation on hardware of the membership functions it is desired that said functions respect the semantics of the fuzzy concept so as to obtain a correct incidence of a term in a rule, one is forced to use considerable space in the memory. This makes fuzzy logic advantageous only for those applications where the term set of the linguistic variable consists of a small number of membership functions.
A first solution to this shortcoming consists of storing only certain points of a membership function. In particular, storing points in which the function changes inclination, thus obtaining a drastic reduction in memory size. But since the task of performing AND-function between said points to proceed with the actual fuzzy computation is assigned to the fuzzy device, there is a considerable increase in computation because of calculation of the intermediate points. In addition, the devices based on this method are inflexible because they operate with a limited number of forms of predetermined membership functions.
Devices which use this type of storage for the membership functions include machines called FP3000 from the OMRON Corporation, and the NLX-230 from the Neural Logix Corporation. These devices operate with digital technology representing the membership functions in analytical form.
Digital technology also allows representation of the membership functions in vectorial form while discretizing the discourse universe at a finite number of points and storing the corresponding degree of membership of the membership functions at these points.
Among the advantages of this technology, there is good definition of the membership functions in the control device and extreme simplicity in performing the computations, i.e. the fuzzy inferences.
With this high calculation speed is associated however considerable use of memory due to the fact that for each membership function the value it has at all points of the discourse universe must be stored.
The data for a membership function are stored in a memory word. In known devices the memory area occupied is thus negatively influenced by the amount of data necessary for defining these membership functions.
In many cases it is sufficient to store triangular or trapezoidal membership functions so as to reduce the amount of data necessary for their storage.
Processors which use this type of triangular function are known. For example, the NeuraLogic fuzzy controller NLX230 stores each membership function antecedent as the position of the vertex (using eight bits) and the value of the semi-base of the triangle (using another five bits, i.e. a range of thirty-two values (2.sup.5) of which the greatest represents the height of the vertex).
This controller can only be used with symmetrical membership functions.
The NeuraLogic solution also exhibits problems for slopes other than 45.degree.. Indeed, it is not possible to implement triangular functions with slopes less than 45.degree. which necessitate semi-bases of sizes greater than those which can be represented by means of five bits. In addition, for semi-bases less than this value the NLX230 controller performs a `cut` of the membership function as shown in FIGS. 1 and 2 where FA indicates a membership function.
Finally, with this type of storage, it is not possible to consider a number of truth levels different from that which can be represented with five bits.
The technical problem underlying the present invention is to provide a method for digital storage of the membership functions FA which would allow minimizing the size of the memory required for implementation on hardware of said functions.
This would allow keeping a high computation speed and optimization of storage of the membership functions FA while overcoming the shortcomings which still limit the known solutions.